﻿using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace B.S.Meeting.Domain
{
    /// <summary>
    /// 用户登录信息
    /// </summary>
    [Table("User")]
    public class User : Basedata
    {
        /// <summary>
        /// 用户ID
        /// </summary>
        [Key]
        public int UserId { get; set; }
        /// <summary>
        /// 用户编号
        /// </summary>
        public long IDnumber { get; set; }

        /// <summary>
        /// 用户名
        /// </summary>
        [Required]
        [StringLength(50)]
        public string UserName { get; set; }
        /// <summary>
        /// 真实姓名
        /// </summary>
        public string NickName { get; set; }
        /// <summary>
        /// 密码
        /// </summary>
        [Required]
        [StringLength(50)]
        public string UserPwd { get; set; }
        /// <summary>
        /// 手机号
        /// </summary>
        [Required]
        [StringLength(50)]
        public string UserPhone { get; set; }
        /// <summary>
        /// 账号状态（1启用 0禁用）
        /// </summary>
        [Required]
        public int Userstatus { get; set; }

        // 会员等级（普通会员、黄金会员、白金会员、钻石会员）
        [MaxLength(20)]
        public string? MemberLevel { get; set; }

        // 性别（男、女、保密）
        [MaxLength(10)]
        public string? Gender { get; set; }

        // 生日
        public DateTime? Birthday { get; set; }

        // 所在城市
        [MaxLength(50)]
        public string? City { get; set; }

        // 职业
        [MaxLength(50)]
        public string? Profession { get; set; }

        // 个性签名
        [MaxLength(100)]
        public string? Signature { get; set; }

        // 订单记录
        [MaxLength(20)]
        public string? OrderRecord { get; set; }

        // 消费金额
        public int? Amount { get; set; }

        /// <summary>
        /// 可用积分
        /// </summary>
        public int? Points { get; set; }
        /// <summary>
        /// 外键（角色ID）
        /// </summary>
        public int RoleId { get; set; }
    }
}